clc;clear;
x = 0.99:0.0002:1.01;
f= x.^8 - 8*x.^7 + 28*x.^6 - 56*x.^5 + 70*x.^4 - 56*x.^3 + 28*x.^2 - 8*x + 1;
plot(x,f)

g = (((((((x - 8).*x + 28).*x - 56).*x + 70).*x - 56).*x + 28).*x - 8).*x + 1;
plot(x,g)

h = (x - 1).^8;
plot(x,h)

% 初始化基数、精度、指数范围 
base = 2; precision = 3; exponent_range = -1 : 1; 
% 初始化浮点数列表为空 
float_list = []; 
% 遍历所有可能的指数和尾数 
for exponent = exponent_range 
    for mantissa_decimal = 0 : base^(precision - 1) - 1 
        mantissa = mantissa_decimal / base^(precision - 1);
        float_num = mantissa * base^exponent;
        float_list = [float_list float_num]; 
    end 
end 

% 去重并排序
float_list = unique(float_list);
% 绘制所有的浮点数在实轴上的位置 
figure; 
plot([min(float_list)-1, max(float_list)+1], [0 0], 'k'); 
hold on;
scatter(float_list, zeros(size(float_list)), 'filled');
xlim([min(float_list)-1, max(float_list)+1]);
% 加入标签
xlabel('Value');
ylabel('Frequency'); 
title('Floating point numbers in the system');

